import numpy as np
import torch
from sentence_transformers import SentenceTransformer
from torch import cosine_similarity

# 加载嵌入模型（以中文优化模型为例）
model = SentenceTransformer("C:/Users/leewenqing/.cache/modelscope/hub/models/Ceceliachenen/paraphrase-multilingual-MiniLM-L12-v2")

# 示例文本数据
texts = [
    "如何快速掌握Python编程,需要学习深度学习在自然语言处理中的应用",
    "如何快速掌握Python编程,需要学习深度学习",
    "FAISS库的安装与使用教程",
    "2025年人工智能发展趋势分析"
]

# 生成向量（默认768维）
embeddings = model.encode(texts, convert_to_numpy=True)  # 形状: (4, 768)
embeddings = embeddings.astype('float32')  # FAISS要求float32

# 将numpy数组转换为Tensor
embeddings_tensor = torch.tensor(embeddings)

# 计算向量相似度
similarity_matrix = cosine_similarity(embeddings_tensor[0].unsqueeze(0), embeddings_tensor[1].unsqueeze(0))

# 打印相似度矩阵
print("相似度矩阵:")
print(similarity_matrix)